;;; packages.el --- 400dama layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
;;
;; Author:  <feng.guo@PIC-P-114>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3

;;; Commentary:

;; See the Spacemacs documentation and FAQs for instructions on how to implement
;; a new layer:
;;
;;   SPC h SPC layers RET
;;
;;
;; Briefly, each package to be installed or configured by this layer should be
;; added to `400dama-packages'. Then, for each package PACKAGE:
;;
;; - If PACKAGE is not referenced by any other Spacemacs layer, define a
;;   function `400dama/init-PACKAGE' to load and initialize the package.

;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
;;   define the functions `400dama/pre-init-PACKAGE' and/or
;;   `400dama/post-init-PACKAGE' to customize the package as it is loaded.

;;; Code:

(defconst 400dama-packages
  '(header2)
  "The list of Lisp packages required by the 400dama layer.

Each entry is either:

1. A symbol, which is interpreted as a package to be installed, or

2. A list of the form (PACKAGE KEYS...), where PACKAGE is the
    name of the package to be installed or loaded, and KEYS are
    any number of keyword-value-pairs.

    The following keys are accepted:

    - :excluded (t or nil): Prevent the package from being loaded
      if value is non-nil

    - :location: Specify a custom installation location.
      The following values are legal:

      - The symbol `elpa' (default) means PACKAGE will be
        installed using the Emacs package manager.

      - The symbol `local' directs Spacemacs to load the file at
        `./local/PACKAGE/PACKAGE.el'

      - A list beginning with the symbol `recipe' is a melpa
        recipe.  See: https://github.com/milkypostman/melpa#recipe-format")

;; Initialize packages
(defun 400dama/init-header2 ()
  (require 'header2)
    ;; To have emacs update file headers automatically whenever you save a file.
    (autoload 'auto-update-file-header "header2")
    (add-hook 'write-file-hooks 'auto-update-file-header)

    ;; To have emacs add a file header whenever you create a new file in some mode
    ;; (autoload 'auto-make-header "header2")
    ;; (add-hook 'python-mode-hook 'auto-make-header)

    ;; (defcustom header-utf-head
    ;;   "-*- coding: utf-8 -*-"
    ;;   :type 'string :group 'Automatic-File-Header)

    (setq header-date-format nil
          make-header-hook'(
                            ;; header-utf-head
                            header-file-name
                            header-author
                            header-creation-date
                            header-version
                            ))
    (add-hook 'python-mode-hook 'auto-make-header)

)

;;; packages.el ends here

